Automatically enabling the forwarding of instant messages

ABSTRACT

In some examples, an instant message addressed to an intended instant messaging recipient may be forwarded to the recipient&#39;s mobile telephone when the recipient&#39;s mobile telephone number is known to the instant message sender. In one example, an instant message is forwarded to the intended recipient&#39;s mobile telephone number when the instant message sender&#39;s contact information for the intended recipient includes an instant message address (e.g., a screen name or other type of instant message identifier) and a mobile telephone number, without dependence upon the intended recipient&#39;s presence on the instant message (IM) system or through actual login or registration with an IM forwarding service. In another example, an instant message addressed to an intended instant messaging recipient is forwarded to the recipient&#39;s mobile telephone when the recipient is known to the instant message sender.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/720,726, filed Oct. 1, 2008, titled AUTOMATICALLY ENABLING THEFORWARDING OF INSTANT MESSAGES, which claims the benefit of U.S.Provisional Application No. 60/631,876, filed Dec. 1, 2004, titledAUTOMATICALLY ENABLING THE FORWARDING OF INSTANT MESSAGES. Thedisclosures of the above-referenced applications are expresslyincorporated herein by reference to their entireties.

TECHNICAL FIELD

This description relates to communicating using an instant messagingsystem.

BACKGROUND

Users of an instant messaging service can communicate in virtually realtime with other instant messaging users. Users may manually create abuddy list of user names of other users of the instant messagingservice, and may establish instant messaging sessions with those othermembers using the buddy list.

SUMMARY

In one general aspect communicating using electronic devices includesreceiving an electronic message and an indication of a sender-specifieddestination for the electronic message. A determination is made as towhether the destination is available to receive an electronic messageusing a first mode of communication, and a determination is made as towhether a mobile telephone number is known by the sender to beassociated with the destination. A determination whether to transmit acommunication based on the electronic message using the mobile telephonenumber is made based on a determination that the destination is notavailable and that the mobile telephone number is known by the sender tobe associated with the destination.

Implementations may include one or more of the following features. Forexample, the electronic message may be an instant message, and thedestination may be an instant message identity. The instant messageidentity may be an identity that is not signed on to an instant messageservice, and determining whether the destination is available to receivean electronic message using a first mode of communication may includedetermining whether the instant message identity is signed on to aninstant message service. A determination may be made that thedestination is not available if the instant message identity is notsigned on to the instant message service.

The instant message identity may be an identity that is signed on to aninstant message service and is associated with an idle state.Determining whether the destination is available to receive anelectronic message using a first mode of communication may includedetermining whether the instant message identity is signed on to aninstant message service and determining whether the instant messageidentity is associated with an idle state if the instant messageidentity is determined to be signed on to the instant message service. Adetermination may be made that the destination is not available if theinstant message identity is signed on to the instant message service andthe instant message identity is associated with an idle state.

Determining whether the mobile telephone number is known by the senderto be associated with the destination may include searching electronicstorage for an association of the mobile telephone number and an instantmessage identity. Determining whether a mobile telephone number is knownby the sender to be associated with the destination may includeidentifying, in a collection of contact information associated with thesender, a stored association of the mobile telephone number and theinstant message identity. The collection of contact information mayinclude an address book associated with the sender or a buddy listassociated with the sender. Determining whether the mobile telephonenumber is known by the sender may include searching the collection ofcontact information associated with the sender for a mobile telephonenumber associated with an instant message identity.

The instant message identity may be associated with a screen name, andsearching the collection of contact information associated with thesender for a mobile telephone number associated with an instant messageidentity may include searching the collection of contact informationassociated with the sender for a mobile telephone number associated withthe screen name associated the instant message identity.

A user name associated with the instant message identity may beidentified in a buddy list associated with the sender. Searching thecollection of contact information associated with the sender for amobile telephone number associated with an instant message identity mayinclude searching the collection of contact information associated withthe sender for the user name. Determining that the mobile telephonenumber is known by the sender to be associated with the instant messageidentity may include identifying, in the collection of contactinformation associated with the sender, a stored association of themobile telephone number and the user name.

A host system may perform the receiving, the determining of whether theinstant message identity is available, the determining of whether themobile telephone number is known by the sender to be associated with theinstant message identity, and the determining of whether to transmit thecommunication. A client system may perform the receiving, thedetermining of whether the destination is available, the determining ofwhether the mobile telephone number is known by the sender to beassociated with the destination, and the determining of whether totransmit the communication.

A text message may be sent to the mobile telephone number such that thetext message is based on text of the electronic message. A text messagemay be forwarded to the mobile telephone number such that the textmessage is based on text of the electronic message.

Confirmation from the sender to enable transmission to the mobiletelephone number may be received, and a determination to transmit may bemade only after receiving confirmation from the sender that theelectronic message is to be transmitted to the mobile telephone number.

A determination may be made as to whether the destination prohibitstransmission of communications to the mobile telephone number based onelectronic messages, and a determination to transmit may be made onlyafter a determination is made that the destination does not prohibittransmission of communications to the mobile telephone number based onelectronic messages.

An indication of whether the destination prohibits transmissions ofcommunications based on electronic messages to the mobile telephonenumber may be received. Determining whether the destination prohibitstransmission of a communication based on the electronic message to themobile telephone number may include accessing the indication of whetherthe instant message identity prohibits transmissions. Determiningwhether to transmit may include only determining to transmit after adetermination is made, based on the accessed indication, that thedestination does not prohibit transmissions of communications based onelectronic messages to the mobile telephone number.

Determining whether the destination is available to receive anelectronic message addressed to the destination may include determiningwhether the destination is signed on to an instant message service usedto send the electronic message, and the determination that thedestination is not available may include a determination that thedestination is not signed on to the instant message service.

Determining whether the destination is available to receive anelectronic message addressed to the destination may include determiningwhether the destination is signed on to an instant message service usedto send the electronic message and determining whether the destinationis away from a client system used to access the instant message service,and the determination that the destination is not available may includea determination that the destination is signed on to the instant messageservice and a determination that the destination is away from the clientsystem.

Determining whether the destination is away from a client system used toaccess the instant message service may include determining whether auser-configurable away indication is associated with the destination,and the determination that the destination is away from the clientsystem may include a determination that a user-configurable awayindication is associated with the destination.

In another general aspect, communicating using electronic devicesincludes receiving an electronic message and an indication of asender-specified destination for the electronic message. A determinationis made as to whether the destination is available to receive anelectronic message using a first mode of communication, and adetermination is made as to whether a second destination using a secondmode of communication is known by the sender to be associated with thedestination. In response to a determination that the destination is notavailable and that a second destination using a second mode ofcommunication is known by the sender to be associated with thedestination, transmission of a communication is enabled to the seconddestination and using the second mode of communication where thecommunication is based on the electronic message.

Implementations may include one or more of the features noted above andone or more of the following features. For example, the seconddestination may be selected, based on a user preference, from multipledestinations. The electronic message may be an instant message, thedestination may be an instant message identity, and the first mode ofcommunication may be instant messaging.

The second destination may include a mobile telephone number, and thesecond mode of communication may include sending a text message. Thesecond destination may include an electronic mail address, and thesecond mode of communication may include sending an electronic mailmessage. The second destination may include a telephone number, and thesecond mode of communication may include sending a voice telephonemessage. The second destination may include an instant message identityavailable through a instant messaging service that is different from theinstant messaging service that is associated with the destination.

The instant message identity may be an identity that is not signed on toan instant message service, and determining whether the destination isavailable to receive an electronic message using a first mode ofcommunication may include determining whether the instant messageidentity is signed on to an instant message service. A determinationthat the destination is not available may be made if the instant messageidentity is not signed on to the instant message service.

The instant message identity comprises an identity that is signed on toan instant message service and is associated with an idle state.Determining whether the destination is available to receive anelectronic message using a first mode of communication may includedetermining whether the instant message identity is signed on to aninstant message service, and determining whether the instant messageidentity is associated with an idle state if the instant messageidentity is determined to be signed on to the instant message service. Adetermination that the destination is not available may be made if theinstant message identity is signed on to the instant message service andthe instant message identity is associated with an idle state.

In yet another general aspect, a graphical user interface on a displaydevice of a computer enables using a computer service to communicate.The graphical user interface includes a list of potential messagerecipients selected by a user as significant to the user. The graphicaluser interface also includes a user identifier associated with eachpotential message recipient and configured as a conduit for messagedelivery to the associated potential message recipient using thecomputer service. The graphical user interface also includes one or moreforwarding indications that indicate whether a message addressed to apotential message recipient is to be forwarded to a mobile telephonenumber associated with the potential message recipient based on adetermination that the mobile telephone number is known by the user tobe associated with the potential message recipient.

Implementations may include one or more of the features noted above andone or more of the following features. For example, a forwardingindication may be displayed adjacent to the user identifier for thecorresponding potential message recipient. A forwarding indication mayinclude an icon.

A first type of forwarding indication may have a first presentationstyle that indicates that message forwarding to a mobile telephonenumber associated with a first potential message recipient associatedwith the first type of forwarding indication is enabled based on adetermination that the mobile telephone number is known by the user tobe associated with the potential message recipient. The graphical userinterface may include one or more forwarding indications of a secondtype. A forwarding indication of the second type may have a secondpresentation style that indicates that message forwarding to a mobiletelephone number associated with a second potential message recipientassociated with the second type of forwarding indication is enabled suchthat message forwarding is enabled by the second potential messagerecipient.

The graphical user interface may include a control for sending a messageto at to least one of the potential message recipients. The list ofpotential message recipients may be an electronic address book or acontact list for the computer service. The computer service may includean instant messaging service, and the list of potential messagerecipients may be a buddy list. The user identifier may be an addressfor communication inspired through interaction with the graphical userinterface.

The graphical user interface may include a mobile blocking indicatorthat indicates that message forwarding to a mobile telephone isprohibited by a potential message recipient. The graphical userinterface may include a mobile forwarding indication that indicates thata mobile telephone associated with a potential message recipient iscapable of receiving a text message.

The list of potential message recipients may include categories ofpotential message recipients such that a category is associated with oneor more potential message recipients. A first category may be associatedwith one or more potential message recipients that are each associatedwith a forwarding indication, and a second category may be associatedwith one or more potential message recipients that are not associatedwith the first category.

In yet another general aspect, communicating using electronic devicesincludes receiving an electronic message and an indication of asender-specified destination for the electronic message. A determinationis made as to whether the destination is available to receive anelectronic message using a first mode of communication, and adetermination is made as to whether an identity associated with thesender-specified destination is known by the sender. A determination ismade whether to transmit, using a mobile telephone number associatedwith the identity, a communication that is based on the electronicmessage. The determination to transmit is based on a determination thatthe destination is not available and that an identity associated withthe sender-specified destination is known by the sender.

Implementations may include one or more of the features noted above andone or more of the following features. For example, determining whetheran identity associated with the sender-specified destination is known bythe sender may include inferring that a person is associated with thesender based, at least in part, on inclusion of the person in a contactlist of a second person, wherein the second person is not the sender.The mobile telephone number associated with the identity may bedetermined based on determining a mobile telephone number associatedwith the person in the contact list of the second person. The contactlist may be, for example, an address book associated with the secondperson or a buddy list associated with the second person.

Implementations of any of the techniques discussed above may include amethod or process, a system or apparatus, or computer software on acomputer-accessible medium. The details of one or more of theimplementations are set forth in the accompanying drawings anddescription below. Other features will be apparent from the descriptionand drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a communications system capable offorwarding instant messages based on contact information.

FIGS. 2 and 8 are flow charts of processes for forwarding an instantmessage based on contact information.

FIG. 3 is an illustration of an exemplary interface for showing a buddylist that identifies buddies for whom a mobile telephone number is knownto the instant messaging identity associated with the buddy list.

FIGS. 4 and 5 are illustrations of exemplary interfaces for associating,in contact information, a mobile telephone number known to an instantmessage identity with a screen name.

FIGS. 6A, 6B, 6C and 6D are illustrations of an exemplary interface forsending communications to a potential instant message recipient for whoma mobile telephone number is known to the instant messaging sender.

FIG. 7 is an illustration of an exemplary user interface for enabling aninstant message identity to prohibit mobile forwarding to the identity'smobile telephone.

FIG. 9 is a flow chart of a process for forwarding an instant messageonly to people a sender is determined to know.

FIG. 10 is a flow chart of a process for maintaining and using a list ofknown people to forward instant messages only to known people.

FIG. 11 is a flow chart of a process for inferring contacts of otherusers as known.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

Techniques are described for forwarding an instant message addressed toan intended instant messaging recipient to the recipient's mobiletelephone when the recipient's mobile telephone number is known to theinstant message sender. In one example, an instant message is forwardedto the intended recipient's mobile telephone number when the instantmessage sender's contact information for the intended recipient includesan instant message address (e.g., a screen name or other type of instantmessage identifier) and a mobile telephone number, without dependenceupon the intended recipient's presence on the instant message (IM)system or through actual login or registration with an IM forwardingservice. In a more particular example, an address book of the instantmessage sender includes an entry for the intended recipient where theentry includes an instant message address and a mobile telephone numberof the intended recipient.

More generally, an instant messaging user may maintain a list (a “buddylist”) of user-selected potential instant messaging recipients(“buddies”) to identify another instant messaging user with whom instantmessages are to be exchanged. More specifically, with reference to oneexemplary. implementation, a buddy list is a user-definable list ofother co-users (i.e., buddies) of an online or network communicationssystems that enables the user to perceive presence information andchanges for the co-users in a unique graphical user interface (GUI) andto track changes to presence status for the co-users in substantiallyreal-time automatically, where presence indicates the status of theco-user with respect to the online or network communications system. Thebuddy list also provides the user with a mechanism to initiatecommunications (e.g., instant messages electronic mail (e-mail), chat,and other communications) with the co-users. When a user signed on to asystem, the set of buddies included in the user's buddy list ispresented to the communications system. The communications systemattempts to match co-users currently signed on to the system with theentries on the user's buddy list. Any matches are displayed to the user.As co-users sign on or sign off, a user's buddy list is updated toreflect these changes. An indication also may be added to show that aco-user has recently or is currently in the process of signing on orsigning off the system. In some implementations, a user identity (e.g.,a user account) may have one or more buddy lists of co-users, eitherwith intersecting or disjoint lists of users, and the user label thesebuddy lists according to the user's preferences or otherwise.

In another example, an instant message addressed to an intended instantmessaging recipient is forwarded to the recipient's mobile telephonewhen the recipient is known to the instant message sender. The peoplethat are presumed to be known by, or associated with, a user may bedetermined using a number of techniques, including, as discussed above,based on a determination that the recipient's mobile telephone number isknown to the instant message sender. In another example, people within acertain number of degrees of separation from the user may be consideredknown to the user for purposes of this process. In yet another example,a user may be able to specify the people known to him manually, forexample, by making changes to contact information or a white list thatidentifies users from whom communications are to be received.Alternatively, or additionally, the people known to a user may beinferred by monitoring the actions of the user. For example, people towhom the user sends an electronic mail (e-mail) message may beconsidered as known to the user. Likewise, saving or forwarding orprinting an e-mail or instant message front a person may signal that theuser knows that person.

More particularly, an instant message may be forwarded to the intendedrecipient's mobile telephone number when the recipient is determined tobe among the people known to the sender. For example, a recipient may bedetermined to be among the people known to the sender by determiningthat the recipient is within a certain number of degrees of separationfrom the sender. Contact lists may be used to determine the links anddegree of separation between the recipient and the sender. In oneexample, a sender may be presumed to know a recipient (and an instantmessage may be forwarded to the intended recipient's mobile telephonenumber) when the recipient's mobile telephone number is included in anentry of an address book of a user other than the sender, when contactinformation for the other user is included in the address book of thesender, even if the recipient's mobile telephone number is not includedin the address book of the sender.

FIG. 1 shows a communications system 100 that is capable of deliveringand exchanging messages between each of client systems 105A and 105B,and which includes an instant messaging provider system 110 and anetwork 115 used to facilitate exchange of such messages. Thecommunications system 100 may be used to send and receive instantmessages, and to forward a communication based on an instant message toa mobile telephone device 170 through a cellular system 180. Users ofthe communications system 100 are distributed geographically andcommunicate using client systems 105A and 105B. The client systems 105Aand 105B are shown as including, respectively, instant messageapplications 107A and 107B. Network 115 interconnects the client systems105A and 105B. The client systems 105A and 105B are connected to network115 through various communication paths 117, such as a modem connectedto a telephone line using, for example, serial line internet protocol(SLIP) or point-to-point protocol (PPP) or a direct network connectionusing, for example, transmission control protocol/internet protocol(TCP/IP). The instant messaging provider system 110 also is connected tothe network 115 over communication pathway 117 and is used to facilitatesome direct or indirect communications between the client systems 105Aand 105B.

Each of the client systems 105A and 105B may be implemented using, forexample, a general-purpose computer capable of responding to andexecuting instructions in a defined manner, a personal computer, aspecial-purpose computer, a workstation, a server, a device, acomponent, or other equipment or some combination thereof capable ofresponding to and executing instructions. The client systems 105A and105B may receive instructions from, for example, a software application,a program, a piece of code, a device, a computer, a computer system, ora combination thereof, which independently or collectively directoperations, as described herein. These instructions may take the form ofone or more communications programs that facilitate communicationsbetween the users of client systems 105A and 105B. For instance, suchcommunications programs may include e-mail programs, instant messageprograms, file transfer protocol (FTP) programs, and voice over internetprotocol (VoIP) programs. The instructions may be embodied permanentlyor temporarily in any type of machine, component, equipment, storagemedium, or propagated signal that is capable of being delivered to theclient systems 105A and 105B.

The client systems 105A and 105B include a communications interface (notshown) used by the communications programs to send communicationsthrough network 115. The communications may include e-mail, audio data,video data, general binary data, or text data (e.g., encoded in AmericanStandard Code for Information Interchange (ASCII) format). Clientsystems also include one or more input devices, such as a keyboard, amouse, a stylus, or a microphone, as well as one or more output devices,such as a monitor, a touch screen, speakers, or a printer.

The network 115 typically includes a series of portals interconnectedthrough a coherent system. Examples of the network 115 include theInternet, Wide Area Networks (WANs), Local Area Networks (LANs), analogor digital wired and wireless telephone networks (e.g., a PublicSwitched Telephone Network (PSTN), an Integrated Services DigitalNetwork (ISDN), or a Digital Subscriber Line of various types (DSL)), orany other wired or wireless network. The network 115 may includemultiple networks or subnetworks, each of which may include, forexample, a wired or wireless data pathway.

As with the client systems 105A and 105B, the instant message providersystem 110 may be implemented using, for example, a general-purposecomputer capable of responding to and executing instructions in adefined manner, a special-purpose computer, a workstation, a server, adevice, a component, or other equipment or some combination thereofcapable of responding to and executing instructions. The instant messageprovider system 110 may receive instructions from, for example, asoftware application, a program, a piece of code, a device, a computer,a computer system, or a combination thereof, which independently orcollectively direct operations, as described herein. These instructionsmay take the form of one or more communications programs. Suchcommunications programs may include, for example, e-mail programs,instant message programs, FTP programs, and VOW programs. Theinstructions may be embodied permanently or temporarily in any type ofmachine, component, equipment, storage medium, or propagated signal thatis capable of being delivered to the instant message provider system110.

Further, the instant message provider system 110 includes acommunications interface (not shown) used by the communications programsto send communications through network 115. The communications mayinclude e-mail, audio data, video data, general binary data, or textdata (e.g., encoded in American Standard Code for InformationInterchange (ASCII) format).

The instant message applications 107A and 107B include buddy lists thatinclude communications identities (“buddies”) with which instantmessages are exchanged using the respective client systems 105A and105B. More particularly, the instant message applications 107A and 10713include a buddy list for each user that uses the client systems 105A and105B to send and receive instant messages. The instant messageapplications 107A and 107B enable the users to send and receive instantmessages with the client systems 105A and 105B. Instant messages aresent between users of the client systems 105A and 105B through a desktopinstant message server 130 on the instant message provider system 110.

The provider system 110 includes a desktop instant messaging server 130that operates instant messaging server software configured to processcommunications sent from and received by users of an instant messagingservice. In particular, the desktop instant messaging server 130 isconfigured to exchange instant messages and communications related tothe instant message service between the client systems 105A and 105B andthe provider system 110 over the network 115. The desktop instantmessage server 130 initiates a point-to-point recipient, and/or it maybe sent to route instant messages sent with the instant messageapplications 107A and 107B.

The desktop instant messaging server 110 also includes address books 135that are associated with instant messaging user accounts (e.g., a screenname or other type of instant message identity identifier). Moreparticularly, an address book is associated with a particular instantmessage identity (e.g., a sender) and includes contact information 135Afor people that are significant to the instant message identity. Thepeople listed in the contact information may be referred to as contacts.Each contact information entry in the address book may identify a screenname 135B (or other type of instant message address or identityidentifier) and a mobile telephone number 135C for a contact of theinstant message identity to whom the address book applies (e.g.,sender). In some implementations, the address book may includeadditional information, such as a name, mailing address information, andother types of telephone numbers. Some implementations may refer to anaddress book by other terms, such as contact information or userinformation.

The desktop instant messaging server 110 also includes buddy lists 136for instant messaging user accounts. Particular buddy lists may be usedby instant messaging application 107A or 107B that are associated withan instant messaging user using the client system 105A or 105B,respectively.

The desktop instant messaging server 130 also includes code segments 137to enable a user to manage contact information 135A in the user'saddress book, such as by adding information for a new contact, deletinga contact, or editing information related to a contact. The codesegments 137 enable a user to identify a mobile telephone and an instantmessaging identity identifier or account (e.g., screen name) for acontact

An offline mobile proxy 140 represents the online presence and/oravailability of a user of the instant messaging system when the user isoffline, thus enabling communications to offline users via alternativecommunication schemes (e.g., text messaging to a text-capabletelephone), even if an instant messaging service is configured torestrict messaging to users who reflect online presence. The offlinemobile proxy 140 represents to the desktop instant messaging server 130that a user is capable of receiving an instant message when a user isactually offline. Accordingly, when a user is offline, availability ofthe user to communicate may be perceived by others and messages sent tothem may be received using an alternative communications scheme (e.g.,text messaging to a text-capable telephone). For instance, a user who isnot signed on to the instant message service (i.e., an offline user) andwhose mobile telephone number is included in a potential sender'saddress book may be perceived as available to receive messages by thepotential sender—that is the user who is offline remains listed asavailable for messaging on the buddy lists of users who subscribe to theuser's online presence and have contact information for the user thatincludes the user's mobile telephone number and screen name. Moreover,an instant message intended for such an offline user is received by thedesktop instant messaging server 130 and provided to the wireless server145, which communicates a text message based on the original instantmessage to the mobile telephone device 170 associated with the offlineuser. The text message is communicated from the wireless server 145 tothe mobile telephone device 170 thorough the cellular system 180. Thecommunication of an instant message addressed to an instant messagescreen name to a mobile telephone as a text message may be referred toas sender-initiated mobile forwarding. Such sender-initiated mobileforwarding may be distinguished from recipient-initiated mobileforwarding in which a recipient configures, or otherwise enables, therecipient's own instant messaging account to forward an instant messageas a text message to the recipient's mobile telephone. Sender-initiatedmobile forwarding also may be referred to as sender-inspired mobileforwarding. Recipient-initiated also may be referred to asrecipient-inspired mobile forwarding.

The offline mobile proxy 140 includes code segments 140A to manageonline presence information. When the desktop instant messaging server130 detects that a user has signed off the instant messaging service,the desktop instant messaging server 130 communicates the status of theuser (e.g., offline) to the offline mobile proxy 140, which executescode segment 140A to indicate to the desktop instant messaging server130 that the user is online. This enables a user to be perceived by thedesktop instant messaging server 130 as online when the user is offline(e.g., not signed in to the instant messaging service). In oneimplementation, the offline mobile proxy 140 also executes code segment140A to update, or enable the update of, the screen name associated witha user to show a mobile indicator adjacent to the user's screen name oneach of the buddy lists that include the user's screen name. The mobileindicator indicates that the user is available at their mobile device toreceive messages inspired through manipulation of the buddy list in theordinary manner, indicates that the user is not signed on to the desktopinstant messaging service, and also indicates that the user has invokedrecipient-initiated mobile forwarding, as described more fully in FIG.3.

The offline mobile proxy 140 also includes code segments 140B that maybe executed by the offline mobile proxy 140 to determine whether toforward an instant message addressed to an offline intended recipient tothe mobile telephone device 170 associated with the intended recipientof the original instant message. In one example, the offline mobileproxy 140 executing the code segments 140B may determine to forward aninstant message when a sender of the instant message knows the potentialrecipient's mobile telephone number (i.e., the offline mobile proxy 140directly, or thorough the desktop instant messaging server 130,determines there is an entry in address books 135 for contactinformation 135A that includes a mobile telephone number associated withthe potential recipient's screen name. This may be referred to asdetermining whether to forward an instant message based on contactinformation. In another example, the offline mobile proxy 140 maydetermine to forward the instant message based on Contact informationand other factors. For example, the offline mobile proxy 140 maydetermine whether to forward an instant message to a mobile telephonenumber based on a user state (e.g., only when a user is offline), basedon a sender request (e.g., confirmation that the sender wants to send amessage to the mobile telephone), or unconditionally (e.g., mirror allinstant messages to the mobile telephone even when the user is signed onto the instant message service). Accordingly, the offline mobile proxy140 executing the code segments 140B may determine to forward theinstant message only when the user is offline or it instead maydetermine to forward the instant message only when the sender hasindicated that the instant message should be forwarded. In yet anotherexample, the offline mobile proxy 140 executing the code segments 140Bmay determine to forward the instant message when the sender has amobile telephone number for the potential recipient and the potentialrecipient has not prohibited forwarding of instant messages to thepotential recipient's mobile telephone. In any event, when the offlinemobile proxy 140 determines that an instant message is to be forwardedto a mobile device, the offline mobile proxy 140 provides the instantmessage to the wireless server 145.

The wireless server 145 includes code segments 145A configured toprepare, based on an original instant message, a text message that isbased on the short message service (SMS) protocol, which is particularlyuseful in sending and receiving short text messages to mobile devices,such as mobile telephones. The code segments 145A include addressingoperations. In one example, the wireless server 145 executing codesegments 145A may use contact information 135A in address books 135 toidentify the mobile telephone number of the recipient identified in theinstant message. To do so, the wireless server 145 executing codesegments 145A may identify a contact entry in the address book of thesender of the instant message where the contact entry includes thescreen name to whom the instant message is addressed and a mobiletelephone number. The addressing operations also may include addressingthe text message to the identified mobile telephone number. Theaddressing operations also may include converting the instant message toa different character set that is used by the text message. For example,an instant message may use an ASCII character set or a Unicode characterset, whereas the text message may use a GSM (“Global System for MobileCommunications”) character set. In such a case, the wireless server 145executing code segments 145A also converts the instant message from theASCII or Unicode character set to the GSM character set.

In addition, the wireless server 145 also includes code segments 145Bconfigured to forward a text message to a telephone number. Moreparticularly, the wireless server 145 executing code segments 145Bforwards to the cellular system 180 a text message prepared by executingcode segments 145A. This may be referred to as mobile forwarding. Ifmobile forwarding is inspired by the sender's contact information forthe intended recipient, the mobile forwarding may be referred to assender-initiated mobile forwarding. Similarly, if mobile forwarding isperformed based on action by the recipient, then the mobile forwardingmay be referred to as recipient-initiated mobile forwarding.

The mobile telephone device 170 is associated with a mobile telephonenumber to which telephone calls may be routed over the cellular system180. The mobile telephone device 170 also may be associated with a SMSaddress that typically is the same as the mobile telephone numberassociated with the mobile telephone device 170, though this need notnecessarily be so. The mobile telephone device 170 is capable ofreceiving, displaying, processing, and sending text messages over thecellular system 180. The mobile telephone device 170 also may bereferred to as a text-capable telephone.

The cellular system 180 may include a cellular network that is capableof transmitting and receiving digital or analog signals using cellulartechnologies, including Advanced Mobile Telephone System (AMPS),Narrowband Advanced Mobile Telephone Service (NAMPS), Frequency ShiftKeying (FSK), Frequency Division Multiple Access (FDMA), Time DivisionMultiple Access (TDMA), and Code Division Multiple Access (CDMA), or anystandard, such as Global System for Mobile Communications (GSM) orCellular Digital Packet Data (CDPD). Alternatively, the cellular system180 may be any type of telephone network capable of transmitting textmessages to any type of telephone or mobile device.

In general, the communications system 100 may be used to send an instantmessage sent from a client system 105A or 105B to the instant messageprovider system 110, which transforms the instant message to acorresponding text message that is muted over the cellular system 180 tothe mobile telephone device 170. The original instant message isaddressed to a screen name and forwarded to the mobile telephone device170 based on the sender's contact information for the intendedrecipient—that is, based on an association, in the sender's contactinformation 135A of address books 135, of the screen name and the mobiletelephone number of the intended recipient, and detection of offlinestains of the screen name identity (i.e., the user of the mobiletelephone device 170).

In some implementations, forwarding an instant message to a mobiletelephone may be prohibited by the user of the mobile telephone, evenwhen the sender of the instant message knows the mobile telephone numberof the intended recipient of the instant message (e.g., contactinformation in the sender's address book includes a mobile telephonenumber associated with the screen name of the intended recipient).Additionally or alternatively, forwarding of an instant message to amobile telephone may be performed only after confirmation is receivedfrom the sender of the instant message.

In some implementations, the client system 105A or 105B may be capableof performing some or all of the operations described as being performedby the instant message provider system 110.

Sender-initiated mobile forwarding may reduce burden on sender's ofinstant messages to alleviate, or minimize, effort of monitoringrecipient availability to receive an instant message. It may be possibleto monitor recipient availability to receive, on the recipient's mobiletelephone, a communication based on an instant message For example, insome implementations, sender-initiated mobile forwarding may only occurwhen the intended recipient's mobile telephone is activated, withinsignal range, and able to receive a text message, though this need notnecessarily be so. Text messaging to a mobile telephone may beimplemented using store-and-forward techniques such that a text messagethat is sent to a deactivated (e.g., turned off) mobile telephone isdelivered to the mobile telephone when the mobile telephone is activated(e.g., turned on) or becomes within receiving range of a mobile signal.In such a case, the recipient having mobile telephone may be identifiedas always being available to receive a text message.

In some implementations, a buddy list of potential instant messagingrecipients may reflect whether one or more potential instant messagingrecipients are available to receive a message forwarded to the potentialrecipient's mobile telephone. For example, when a potential recipient'smobile telephone is turned off, not within signal range, or is otherwiseunable to receive a text message, the buddy list including the instantmessaging recipient may reflect the potential recipient's unavailabilityto receive a message forwarded to the potential recipient's mobiletelephone. A buddy list that indicates whether a potential recipient isavailable to receive a message forwarded to the potential recipient'smobile telephone may be applicable to sender-initiated mobile forwardingand may be applicable to recipient-controlled mobile forwarding.

FIG. 2 illustrates a process 200 for forwarding an instant message,based on contact information for an intended recipient, to a mobiletelephone device capable of receiving, processing, displaying andtransmitting text messages. The process 200 may be performed, forexample, by a processor on the provider system 110 of FIG. 1 or may beperformed by an instant messaging application, such as instant messagingapplication 107A or 107B of FIG. 1. For convenience, the processorperforming the process 200 may be referred to as an instant messagingsystem.

The process 200 begins when a user creates an instant message addressedto a screen name, and the instant message is received by the instantmessaging system (step 210). The user, who may be referred to as asender, may do so using an instant messaging application to identify abuddy from within their buddy list and enter text or other content forthe instant message. Accordingly, the instant message is addressed to ascreen name of an identity listed on the sender's buddy list.Alternatively, the screen name of the intended recipient of the instantmessage may be a identified by the user by entering a screen name(rather than selecting a buddy from the sender's buddy list).

The instant messaging system determines whether an identity associatedwith the screen name is available to receive an instant message (step220). This may be accomplished, for example, by the instant messagingsystem checking whether the identity associated with the screen name issigned on to the instant message system. When the identity associatedwith the screen name is available to receive an instant message (step222), the instant messaging system sends the instant message to theidentity associated with the screen name (step 225). For example, theinstant message system may forward the instant message to the clientsystem, such as 105A or 105B of FIG. 1, used by the identity.

When the identity associated with the screen name is not available toreceive an instant message (step 222), the instant messaging systemdetermines whether a mobile telephone number is known by the sender tobe associated with the identity associated with the screen name. In oneexample, the instant messaging system identifies a collection of contactinformation (i.e., an address book, a contact list, or a buddy list)that is associated with the sender of the instant message and searchesthe identified collection for an entry that includes a screen name thatmatches the screen name to which the instant message is addressed. Ifsuch a match found, the instant messaging system determines whether amobile telephone number is included in the contact information entry,and, when so, the instant messaging system determines that a mobiletelephone number is known to the sender to be associated with theidentity associated with the screen name to which the instant message isaddressed.

When the instant message system determines that a mobile telephonenumber is not known by the sender to be associated with the identityassociated with the screen name (e.g., contact information for theidentity is not included in the sender's address book or contactinformation for the identity is included in the sender's address bookand the contact information does not include a mobile telephone number)(step 232), the instant message system does not send the instant messageto the intended recipient and does not send a communication based on theinstant message (e.g., does not forward a text message to a mobiletelephone number) (step 235).

When the instant message system determines that a mobile telephonenumber is known by the sender to be associated with the identityassociated with the screen name (e.g., contact information for theidentity is included in the sender's address book, where the contactinformation includes a mobile telephone number and identifies a screenname) (step 232), the instant message system sends a communication basedon the instant message to the mobile telephone number known to thesender to be associated with the identity (step 240). This may beaccomplished, for example, by preparing and forwarding a text messagebased on the instant message to the mobile telephone number for theidentity, directly or indirectly, thorough a cellular system, asdescribed previously with respect to FIG. 1.

In some implementations, the determination as to whether a identity isavailable may include, when the identity is signed on to the instantmessage system, making a determination that the identity is availableonly when the identity is not idle (e.g., the identity has notinteracted with the client system running the instant messageapplication program in a predetermined or user-configurable amount oftime). In such a case, a communication based on the instant message maybe sent to a mobile telephone number known to the sender to beassociated with the identity when the identity is not signed on and/oris idle. Alternatively or additionally, an instant message account orinstant message application may be configured to identify conditionswhen sender-initiated mobile forwarding occurs—such as, only when arecipient is not signed on to the instant message application, or when arecipient is not signed on to the instant message application or isidle.

Referring to FIG. 3, a graphical user interface 300 displays a buddylist for an instant messaging identity (e.g., an instant message sender)where the buddy list identifies buddies for whom a mobile telephonenumber is known to the instant messaging identity (e.g., the instantmessage sender).

The graphical user interface 300 includes an instant messagesender-selected list 310 of potential instant messaging recipients 320a-320 g. The graphical user interface 300 may be referred to as aninstant message buddy list window 300, an instant message buddy listinterface 300, or, more simply, a buddy list window 300 or a buddy listinterface 300, and the list 310 may be referred to as a buddy list 310.In some implementations, the buddy list also may be referred to as aparticipant list, a contact list or a friends list. Thus, buddiestypically are contacts who are known to the potential instant messagesender (here, IMSender). A buddy is identified by a screen name or othertype of identity identifier, such as an account name, a user name, auser identity, or an alias of an identity identifier. In particular, theuser IMSender is an instant message sender using the buddy listinterface 300. The buddy list interface 300 is rendered on the displayof a computing device or a communication device on which an instantmessaging client program is executed, such as the client system 105A or105B of FIG. 1.

In the buddy list 310, the representations 320 a-320 g include textidentifying the screen names of the buddies included in buddy list 310;however, additional or alternative information may be used to represent,and be associated with, one or more of the buddies, such as an avatar orother type of graphical image, that is reduced in size and either stillor animated. In one example, a buddy icon is a small, two-dimensionalgraphical image that may be used for self-expression by the associatedbuddy (e.g., used to express an interest of the buddy), and which may bea still or animated image or graphic. For example, the representation320 a includes the screen name 321 a and corresponding buddy icon 322 aof the instant message recipient named SuperBuddyFan1. The buddy icontypically selected by the party identified by the screen name, but itmay be selected instead by the buddy list owner. For convenience, eachof the representations 320 a-320 g may be referred to as a screen name320 a-320 g. In some implementations, one or more of the representations320 a-320 g may be an alias of a screen name rather than a screen nameitself The representations 320 a-320 g may provide connectivityinformation to the instant message sender about the buddy, such aswhether the buddy is online, how long the buddy has been online, whetherthe buddy is away from the client system executing the instant messagingclient application, or whether the buddy is available through a mobiledevice.

Buddies may be grouped by an instant message sender into one or moreuser-defined or pre-selected groupings (“groups”). As shown, the instantmessage buddy list window 300 has three groups, Buddies 322, Co-Workers324, and Family 326. SuperBuddyFan1 320 a belongs to the Buddies group322, and ChattingChuck 320 c belongs to the Co-Workers group 324. When abuddy's instant message client program is able to receivecommunications, the representation of the buddy in the buddy list isdisplayed under the name or representation of the buddy group to whichthe buddy belongs. As shown, at least potential instant messagingrecipients 320 a-320 g are online. In contrast, when a buddy's instantmessage client program is not able to receive communications, therepresentation of the buddy in the buddy list may not be displayed underthe group with which it is associated, but it may instead be displayedwith representations of buddies from other groups under the headingOffline 328, or it may otherwise be visually distinguished from otherbuddies who then have available/present instant message client programs.All buddies included in the buddy list 310 that are displayed in themessaging mode are displayed either under one of the groups 322, 324, or326, or under the heading Offline 328.

The buddy list 310 also includes a mobile indicator 310A that reflectsthe existence of a mobile telephone number for the identity is known tothe user (i.e., IMSender) and, as such, is a means for contacting theidentity associated with the screen name 320 b) (i.e., Boss) adjacent tothe mobile indicator 310A. Thus, the mobile indicator 310A may indicatethat a message addressed to the screen name 320 b is to be forwarded toa mobile telephone number associated with the screen name 320 b based onan association of a mobile telephone number with the screen name 320 bin the user's (i.e., IMSender) contact information. The mobile indicator310A also may be referred to as a sender-initiated forwarding indicator.Generally, the mobile indicator 310A is displayed only when the identityassociated with the screen name 320 b is not available to receive aninstant message (e.g., is offline and/or is idle), though this need notnecessarily be so. In some implementations, the mobile indicator 310Amay indicate only that a mobile telephone number is associated with thescreen name and not provide an indication as to whether an instantmessage sent to the corresponding screen name is to be forwarded to themobile telephone number.

The buddy list 310 also includes a mobile indicator 310B that reflectsthat the identity associated with the screen name 320 e (i.e., Mom)adjacent to the mobile indicator 310B has enabled recipient-initiatedmobile forwarding of instant messages to the identity's mobiletelephone. In contrast to the sender-initiated forwarding indicator310A, the mobile telephone number of the identity need not necessarilybe known to the user (i.e., IMSender). Mobile indicator 310B may bereferred to as a recipient-initiated forwarding indicator. Generally,the mobile indicator 310B is displayed only when the identity associatedwith the screen name 320 e is not available to receive an instantmessage (e.g., is offline and/or is idle), though this need notnecessarily be so. Although the recipient-initiated forwarding indicator310B is shown with a different presentation style from the presentationstyle of the sender-initiated forwarding indicator 310A, someimplementations may use the same presentation style for both types ofmobile indicators.

A mobile blocking indicator 310C on the buddy list 310 reflects that theidentity associated with the screen name 320 g (i.e., Brother) prohibitsforwarding of instant messages to the identity's mobile telephone, eventhough the mobile telephone number associated with the identity may beknown to the user. Generally, though not necessarily, the mobileblocking indicator 310C is displayed only when the identity associatedwith the screen name 320 g is not available to receive an instantmessage (e.g., is offline and/or is idle). Alternatively, in contrast todisplaying a mobile indicator 310C, some implementations may simply usethe presence of a user's screen name to indicate their availability (bymobile forwarding or otherwise) to receive messages, and the absence ofmobile indicators 310A and 310B to indicate an otherwise potentialrecipient's lack of availability due to either of an absence of theirmobile forwarding information/registration or their expressed reluctanceto receive messages at their mobile device. For example, someimplementations may not display a mobile indicator 310A adjacent to ascreen name when the sender has the mobile telephone number for theidentity, the identity is offline, and the identity prohibits mobileforwarding. In such a case, for example, the screen name of the user maysimply appear under the Offline group 328, even though the sender hastheir mobile forwarding information.

The mobile blocking indicator 310C may be particularly useful whenapplied to the Offline group 328. In such a case, the mobile blockingindicator 310C would inform sender the identities who are available toreceive instant messages sent as text messages to the identities' mobiletelephone. For example, when a potential recipient's mobile telephone isturned off, not within signal range, or is otherwise unable to receive atext message, the buddy list may include a mobile blocking indicator310C to reflect the potential recipient's unavailability to receive amessage forwarded to the potential recipient's mobile telephone.

A determination to display the mobile blocking indicator 310C may bemade when a determination is made that the identity associated with thescreen name 320 g (i.e., Brother) is offline and/or is idle. Forexample, when the identity signs off of the host system providing theinstant messaging service, the host system may determine whether theidentity prohibits forwarding of instant messages to the identity'smobile telephone. To do so, for example, the host system may checkconfiguration information associated with the screen name 320 g and makea determination based on the configuration information. When the hostsystem determines that forwarding of instant messages is prohibited bythe identity, the host system may make that determination available tothe client system or may make available an updated buddy list thatincludes the mobile blocking indicator 310C. This may be accomplished,for example, by sending the updated buddy list, sending a message thatindicates the identity associated with the screen name prohibitsforwarding of instant messages, or otherwise pushing the buddy list ordetermination to the client system that displays the buddy list 310. Inanother example, the host system enables the client system to access theupdated buddy list with the mobile blocking indicator 310C, thedetermination that a mobile blocking indicator 310C is appropriate, orotherwise enabling the client system to pull the updated buddy list ordetermination that a mobile block indicator 310C is appropriate from thehost system. The buddy list window 300 also includes controls 330 that auser may use to initiate functions related to instant messaging. Inparticular, a setup control 332 allows for configuration of thecurrently displayed buddy list. Selecting the setup control 332 enablesfunctionality including the addition and deletion of screen names, suchas screen names 320 a and 320 b, and groups, such as groups 322 and 324,to the buddy list 310.

When an online screen name from the buddy list 310 has been selected,activating an instant messaging control 334 displays an interface forcommunicating with the account corresponding to the selected screenname. Activating the instant messaging control 334 without selecting anonline screen name in the buddy list 310 causes the display of aninterface for communicating and allows a user to identify a instantmessaging user that is not on the user's buddy list.

An info control 336 displays contact information related to a screenname selected on the buddy list 310 when contact information isavailable about the buddy. Such information may include, for example, amobile telephone number, a work telephone number, and a home telephonenumber. In some implementations, information other than contactinformation may be displayed, such as, for example, name, geographiclocation, interests and hobbies, and occupation of the buddy. Thecontact information may be entered by identity (i.e., buddy) and,optionally, the identity may control whether some or all suchinformation is displayed to other users. Additionally or alternatively,the contact information for the buddy may be entered by the user (i.e.,IMSender). The contact information may be displayed, for example, in auser interface 400 of FIG. 4.

FIG. 4 illustrates an example of an interface 400 for associating, incontact information, a mobile telephone number with a screen name. Theinterface 400 may be displayed, for example, in response to a useractivating a control to associate telephone numbers with an instantmessage identity identified on a the user's buddy list.

The interface 400 identifies the screen name 410 of an identity (i.e.,“Steve Clark”) with whom telephone numbers 420 are to be associated. Theinterface 400 enables a user to enter a mobile telephone number 425 tobe associated with the screen name 410, which serves to inform theinstant messaging service that the mobile telephone number associatedwith the screen name 410 is known to the user.

The interface 400 also includes controls. A control 432 is operable toassociate the entered mobile telephone number 425 with the identifiedscreen name 410 and remove the interface 400 from display on a computingdevice or communication device operating the instant messagingapplication. In contrast, a control 434 is operable to remove theinterface 400 from display without associating the entered mobiletelephone number 425 with the identified screen name 410.

In some implementations, an instant messaging user may enter the user'sown mobile telephone number in the interface 400 and, in doing so, makeknown the user's own mobile telephone number to other instant messagingusers. Thus, in doing so, the user enables instant messages sent to theuser from other instant messaging users to be forwarded to the user'smobile telephone number when the user is offline. This may be aconvenient method for a user to enable mobile forwarding to the user'smobile telephone.

This or a similar interface may be used to display a mobile telephonenumber that is associated with a screen name and, hence, known to theuser displaying the interface. For example, with reference to FIG. 3,when a screen name is selected on the buddy list 310, activation of thecontrol 336 may cause the display of a interface the same as or similarto interface 400.

FIG. 5 depicts another example of an interface 500 for associating, incontact information, a mobile telephone number with a screen name, whichserves to inform the instant messaging service that the mobile telephonenumber associated with the screen name is known to the particular userassociated with the address book.

In contrast to the interface 400 of FIG. 4, the interface 500 presentsan address card in an address book of an instant messaging user. Moreparticularly, the interface 500 includes address card information 505for a contact in an address book associated with the screen name of aparticular instant messaging sender (i.e., IMSender) identified titlebar 507. The address card information 505 includes a screen name 510 anda mobile telephone number 525 of the contact who is the subject of theaddress card. Thus, when a user enters and stores a screen name 510 andmobile telephone number 525 for the contact in the address cardinformation 505, the instant messaging service is informed that themobile telephone number 525 of the contact is known to the instantmessage sender (i.e., IMSender) with whom the address book is associatedFor example, with reference to FIG. 2., the existence of a mobiletelephone number in a sender's general contact list may be used, at step230, as the bases for determining the existence of mobile telephonenumber known by the sender to be associated with an identify associatedwith a screen name. Such a determination may be made even in the absenceof a screen name in the contact list of the sender if the mobiletelephone number of other general contact list is associated with someother indicia also linked to the recipient screen name in the buddy listor otherwise (e.g., name).

As illustrated, the address card information 505 also includes othertypes of information, such as the name of the contact 530, a category532 of contacts with whom the contact is associated (i.e., a Friendscategory), and an e-mail account identifier 535 of e-mail account otherthan an e-mail account associated with the screen name 510.

The interface 500 also includes a control 542 to save address cardinformation in electronic storage, such as address books 135 of FIG. 1and remove the interface 500 from display, and a control 544 to removethe interface 500 from display without saving newly entered address cardinformation.

In some implementations, the interface 500 also may include a control550 operable to expressly prohibit sender-initiated mobile forwarding tothe cellular phone number 525 associated with the screen name 510 (e.g.,prohibit forwarding an instant message sent to the screen name 510 tothe cellular phone number 525 when the identity associated with thescreen name is not signed on to the instant messaging service) and anindicator 552 representing whether sender-initiated mobile forwarding tothe cellular phone number 525 is prohibited. The ability for a user tocontrol whether sender-initiated mobile forwarding is prohibited for aparticular contact in the user's address book may be useful. Forexample, a user may store in the user's address book a cellular phonenumber for a contact for whom the user would not want to forward aninstant message when the contact is offline. In one example, a user maywish to store a cellular phone number 525 for a contact where thecontact owns a cellular phone corresponding to cellular phone number foremergency use only and customarily does not power on cellular phone. Insuch a case, the user may wish to prohibit sender-initiated mobileforwarding to the cellular phone. In some implementations, the control550 may be operable to expressly prohibit both sender-initiated andrecipient-initiated mobile forwarding (if the contact has configured thecontact's instant message user account to enable recipient-initiatedmobile forwarding).

In some implementations, other sender-configuration options may beprovided. For example, a user may be able to select whethersender-initiated mobile forwarding based on contact information isenabled (or prohibited) for all contacts or contacts belonging to one ormore contact categories. Similarly, a user may be able to select whethersender-initiated mobile forwarding based on contact information isenabled (or prohibited) as a default option for all contacts, orcontacts belonging to one or more contact categories, unless overriddenby user instruction. One example of such a user instruction is thecontrol 550 operable to prohibit sender-initiated mobile forwarding tothe mobile telephone number of the identified contact. Another exampleis the response of a user to a prompt inquiring whether the user wantsto forward a particular instant message to a recipient, as describedmore fully later with respect to FIG. 6B.

Additionally or alternatively, recipient-configuration options may beprovided for enabling a recipient to control whether an instant messageis forwarded to the recipient's mobile telephone. For example, a usermay configure the user's instant messaging account such that instantmessages are not forwarded to the user's mobile telephone even when asender has the user's mobile telephone number in the sender's contactinformation. More particularly, a user who is an intended recipient ofan instant message may prohibit sender-initiated mobile forwarding fromany sender, a particular sender and/or a sender that is associated withone of one or more buddy groups on the recipient's buddy list.

FIG. 6A shows an exemplary interface 600A for sending messages to apotential instant message recipient for whom a mobile telephone numberis known to the instant messaging sender. More particularly, theinterface 600A includes a recipient indicator 602 that indicates ascreen name of a potential recipient of the messages sent with theinterface 600A. The screen name of the potential recipient may beidentified by selecting a screen name from a buddy list, such as buddylist 310 of FIG. 3, or may be entered by the user directly into therecipient indicator 602. As illustrated, the interface 600A is used tosend communications to the screen name NewBuddy 602. In someimplementations, the interface 600A also may include a sender indicator(not shown) that indicates a sender of the messages sent with theinterface 600A.

The interface 600A includes a message compose text box 606 that enablestext to be entered for a message and displays the text of a message tobe sent from the sender and to the identified recipient 602. Oncespecified in the message compose text box 606, the message may be sentby selecting a send button 610. In some implementations, the interface600A may include a message transcript text box (not shown) that displaysthe text of messages sent between the sender and the recipient.

The interface 600A includes an available control 620 operable to displaya user interface indicating whether the potential recipient is availableto receive an instant message and, if not, to prompt the user toindicate whether the instant message is to be forwarded to the mobilephone number associated with the screen name (when a mobile telephonenumber is available for the screen name), such as user interface 600B ofFIG. 6B.

FIG. 6B shows a user interface 6008 that may be presented to inform aninstant message sender that the intended recipient of the instantmessage is not available to receive the instant message (e.g., theintended recipient is offline) and request confirmation from the instantmessage sender as to whether the instant message should be forwarded toa mobile telephone number associated with the intended recipient andknown to the instant message sender.

More particularly, the interface 600B displays availability information625 for the intended recipient As illustrated, the availabilityinformation 625 indicates that the intended recipient is offline.Another example of availability information 625 is information that theintended recipient is idle (e.g., has not interacted with the clientsystem running the instant message application program in apredetermined or user-configurable amount of time). Yet another exampleof availability information 625 is information that the intendedrecipient is away from the client system running the instant messageapplication program (e.g., that the intended recipient has set an awayindicator to be displayed when an instant message is sent to theintended recipient). Availability information 625 also may providenotification that the intended recipient is offline and has enabledrecipient-initiated mobile forwarding where a text message based on theinstant message is to be sent to a mobile telephone number identified bythe intended recipient.

The interface 600B also includes a prompt 630 for the user to indicatewhether the instant message sender wishes to forward the instant messageto the intended recipient's mobile telephone number. The prompt 630 maybe displayed based on the association, in the instant message sender'scollection of contact information (e.g., address book), of a mobiletelephone number with the screen name of the intended recipient. In someimplementations, the prompt 630 also may be displayed when intendedrecipient is offline and has enabled recipient-initiated mobileforwarding to receive a text message on the intended recipient's mobiletelephone number.

A control 635 is operable to enable mobile forwarding of a text messageto a mobile telephone number associated with the intended recipient andremove the interface 600B from display. In contrast, a control 637 isoperable to remove the interface 600B without sending to a mobiletelephone number associated with the intended recipient a text messagebased on the instant message.

FIG. 6C shows another exemplary user interface 600C that may bepresented to inform an instant message sender that the intendedrecipient of the instant message is not available to receive the instantmessage (e.g., the intended recipient is offline) and requestconfirmation from the instant message sender as to whether the instantmessage should be forwarded to a mobile telephone number associated withthe intended recipient and known to the instant message sender. Incontrast to FIG. 6B, the user interface 600C provides communicationscheme options other than sender-initiated mobile forwarding tocommunicate with the intended recipient.

More particularly, the interface 600C includes a text box 650 informingthe sender that the instant message is to be sent to the mobile deviceregistered to the intended recipient and identifying the mobiletelephone number to which the message is to be sent. The interface 600Calso includes controls 662, 664, 666, 668 and 669 to identify thedesired disposition of the message. In particular, the control 662 isoperable to send the message content identified in the instant messagevia instant message only—that is, forwarding a text message to themobile telephone number of the intended recipient and remove theinterface 600C from the display. The control 662 is operable to send themessage content identified in the instant message via instant messageonly—that is, forwarding a text message to the mobile telephone numberof the intended recipient and remove the interface 600C from thedisplay.

The control 664 is operable to send the message content identified inthe instant message as an electronic mail (e-mail) message directed toan e-mail address associated with the intended recipient in the sender'scontact information for the recipient, such as other e-mail address 535of FIG. 5, and remove the interface 600C from the display.

Similarly, the control 666 is operable to send the message content bothas a text message forwarded to a mobile telephone number of therecipient and as an e-mail message directed to the intended recipient,as well as to remove the interface 600C from the display.

The control 668 is operable to initiate a telephone call (e.g., avoice-based telephone call) to the mobile telephone number of theintended recipient and remove the interface 600C from the display.

The control 669 is operable to remove the interface 600C from thedisplay without sending the instant message.

FIG. 6D shows yet another exemplary user interface 600D that may bepresented to inform an instant message sender that the intendedrecipient of the instant message is not available to receive the instantmessage (e.g., the intended recipient is offline) and requestconfirmation from the instant message sender as to whether the instantmessage should be forwarded to a mobile telephone number associated withthe intended recipient and known to the instant message sender. Incontrast to FIG. 6C, the user interface 600D includes message content ofthe instant message in a message text box 675 that may be, for example,an implementation of message compose text box 606 of FIG. 6A.

Like the interface 600C of FIG. 6C, the interface 600D controls 682,684, 686, 688 and 689, which may be implementations of controls 662,664, 666, 668 and 669 of FIG. 6C, respectively.

Referring to FIG. 7, an exemplary user interface 700 may be presented toa user upon initiation of a process to configure the user's instantmessaging account to sender-initiated prohibit mobile forwarding. Theuser interface 700 includes profile information 720 for the instantmessaging account being configured. The profile information 720 includesthe name 722 of the identity (i.e., “Bob Smith”) and the IM handle orscreen name 724 of the identity (i.e., “BobSmith123”). The userinterface 700 also includes the mobile telephone number 730 to which theconfiguration is to apply. In some implementations, the mobile telephonenumber 730 may be included in the profile information 720.

The user interface 700 also includes a set of option buttons 740 thatmay be selected by the user to configure user's instant messagingaccount to react to requests by a sender to forward messages to themobile telephone number 730 based on the user's mobile telephone numberin the sender's contact information for the user. The option buttons 740may include, for example, an option button 741 to prohibitsender-initiated mobile forwarding (e.g., messages are not to beforwarded to the mobile telephone number when the user is not signed onto the instant messaging system), an option button 742 to enablesender-initiated mobile forwarding only when the user is offline, and anoption button 743 to enable sender-initiated mobile forwarding when theuser is offline or when the user is signed on and away (e.g., the useris signed on to the instant messaging account and an away message isenabled for the account to provide an indication to potential messagesenders that the user is not available to receive a message).

The user interface 700 allows sender-initiated mobile forwarding ofinstant messages to a user's mobile telephone number to be controlledaccording to recipient preferences. Thus, when a user configures theuser's instant message account to prohibit sender-initiated mobileforwarding, the host system does not send a communication to the user'smobile telephone number even when the sender has the user's mobiletelephone number and the user is not available. In some implementations,the user's mobile telephone number 730 is informational only such, whenoption 741 is selected to prohibit mobile forwarding, that the absenceof the user's mobile telephone number 730 enables sender-initiatedmobile forwarding only when the user is offline.

In some implementations, the interface 700 also may include anindication as to the configuration of the user's account—e.g., whethersender-initiated mobile forwarding is prohibited, is enabled only whenthe user is offline, or is enabled when the user is offline or away.

FIG. 8 shows a process 800 for forwarding an instant message, based oncontact information for an intended recipient, to a mobile telephonedevice capable of receiving, processing, displaying and transmittingtext messages. Like the process 200 of FIG. 2, the process 800 may beperformed, for example, by a processor on the provider system 110 ofFIG. 1 or may be performed by an instant messaging application, such asinstant messaging application 107A or 107B of FIG. 1. For convenience,the processor performing the process 800 may be referred to as aninstant messaging system.

The process 800 begins when a user identifies contact information forone or more instant message users, which is received by the instantmessaging system (step 810). The user, who may be referred to as asender, may do so using the interface 500 of FIG. 5 to enter an addresscard in an address book.

The instant messaging system presents a buddy list with a group ofbuddies that identifies available buddies and a group of buddies thatidentifies mobile buddies who are not available but for whom a mobiletelephone number is known by the sender (e.g., the mobile telephonenumber has been entered in the sender's address book) (step 820). Thismay be accomplished, for example, by the instant messaging systemchecking whether an identity associated with each screen name on thebuddy list is signed on to the instant message system and whether amobile telephone number is known to the sender for each identity. Whenthe identity is signed on, the identity is grouped in the availablegroup, whereas when the identity is not signed on but a mobile telephonenumber is known to the sender, the identity is associated with themobile buddies group. In some implementations, the buddy list may alsopresent a group of buddies that are offline and for whom a mobiletelephone number is not known by the sender.

In some implementations, a user may have the option of configuring abuddy list to include a buddy group that includes identities who areable to receive instant messages forwarded to a mobile device. Such agroup may be referred to as a mobile buddy group or mobile buddies. Forexample, a user may be able to seta preference for including an identitywho is able to receive instant messages forwarded to a mobile device ina mobile buddy group or, conversely, maintaining such an identity'sintegration within other known buddy groups. In another example, a usermay be able to configure a buddy list to include such an identity bothin a mobile buddy group and another buddy group. The instant messagingsystem receives, from the sender, a selection of a mobile buddy to whoman instant message is to be sent (step 830). For example, the sender mayselect a buddy from the buddy as described previously with respect toFIG. 3.

The instant message system received, from the sender, message content ofan instant message to be sent to the identified mobile buddy (step 840).For example, the sender may identify text in the message compose textbox 606 of FIG. 6.

The instant message system sends a communication based on the instantmessage to the mobile telephone number known to the sender to beassociated with the identity (step 850). This may be accomplished, forexample, by preparing and forwarding a text message based on the instantmessage to the mobile telephone number for the identity, directly orindirectly, thorough a cellular system, as described previously withrespect to FIGS. 1 and 2.

Turning now to a fuller description, an instant message that isaddressed to the recipient is forwarded to an intended instant messagingrecipient's mobile telephone conditioned on whether the recipient isknown to the instant message sender. In general, a recipient may beknown to the sender even when the sender does not store, in the sender'saddress book or otherwise, a mobile telephone number for the recipient.Moreover, the sender and recipient may not have a direct relationship toanother, but may nevertheless be linked to one another throughintermediate identities based on a personal, business or otherrelationship among the identities and the intermediary identities. Forexample, a user A may have a friend, user B, who also uses the instantmessaging service and who has a friend, user C, who also uses theinstant messaging service. Thus, user A is linked to user C through userB, and as a consequence, may be deemed to know user C. Suchinterpersonal interactions or relationships may generally be referred toas a social network. How many intermediary identities are needed to linkone identity with another identity may be referred to as the degree ofseparation between those two identities.

Contact lists (e.g., address books or buddy lists of instant messagingservices) may be used to determine the links and degree of separationbetween a sender and a recipient.

For example, an identity A may list identity B in identity A's addressbook, identity B may list identity C in identity B's address book, andidentity C may list identity D in identity C's address book. Here,identity D is linked to identity A by two degrees of separation (withidentity B as the first degree and identity C as the second degree).Identity A is related to identity C by one degree of separation(identity B), and identity B is separated from identity D by one degreeof separation (identity C). Identities A and B, identities B and C, andidentities C and D are each respectively separated by zero degrees ofseparation.

Thus, a system may identify a first identity's social network (e.g., theentire social network or a portion of the social network up to adesignated number of degrees of separation) by evaluating the firstidentity's contact list(s), evaluating the contact lists) of thoseidentities listed in the first identity's contact list, and so forthuntil the desired number of degrees have been reached or the entiresocial network has been identified. For example, an identity A may listidentities B and C in identity's A address book. The system may evaluateand determine that identities B and C are so listed and construct asocial network map (which may be visually displayed and/or stored forlater use) that indicates that identities B and C are linked to identityA. The system may then evaluate identity B's address book and identityC's address book to determine additional identities with whom identity Bor identity C are linked. For example, the system may evaluate identityB's address book and determine that identities D and E are listedtherein and, consequently, that identity B is linked to identities D andE. The system then may refine the social network to indicate thatidentity A is linked directly to identities B and C and is also linkedto identities D and E through identity B.

FIG. 9 illustrates a process 900 for forwarding an instant message,based on an intended recipient being known to the sender, to a mobiletelephone device capable of receiving, processing, displaying andtransmitting text messages. In contrast to the process 200 of FIG. 2,the process 900 forwards an instant message based on a mobile telephonenumber associated with the intended recipient that is not necessarilyincluded in the sender's contact information for the intended recipientThe process 900 may be performed, for example, by a processor on theprovider system 110 of FIG. 1 or may be performed by an instantmessaging application, such as instant messaging application 107A or107B of FIG. 1. For convenience, the processor performing the process900 may be referred to as an instant messaging system.

The process 900 begins when a user creates an instant message that isaddressed to a screen name, and the instant message is received by theinstant messaging system (step 910). The user, who may be referred to asa sender, may do so using an instant messaging application to identify ascreen name of an intended recipient and enter text or other content forthe instant message. Accordingly, the instant message is addressed to ascreen name of an identity identified by the sender.

The instant messaging system determines whether an identity associatedwith the screen name is available to receive an instant message (step920). This may be accomplished, for example, by the instant messagingsystem checking whether the identity associated with the screen name issigned on to the instant message system. When the identity associatedwith the screen name is available to receive an instant message (step922), the instant messaging system sends the instant message to theidentity associated with the screen name (step 925). For example, theinstant message system may forward the instant message to the clientsystem, such as 105A or 105B of FIG. 1, used by the identity.

When the identity associated with the screen name is not available toreceive an instant message (step 922), the instant messaging systemdetermines whether the recipient is known by the sender (step 930). Inone example, the instant messaging system identifies a collection ofcontact information (i.e., an address book, a contact list, or a buddylist) that is associated with the sender of the instant message andsearches the identified collection for an entry that includes a screenname that matches the screen name to which the instant message isaddressed. If a match is not found, the instant messaging systemsearches collections of contact information of identities that areincluded in the sender's social network map for an entry that includes ascreen name that matches the screen name to which the instant message isaddressed. If a match is found, the instant messaging system determinesthat the recipient is known to the sender.

If the recipient is not known to the sender (step 932), the instantmessage system does not send the instant message to the intendedrecipient and does not send a communication based on the instant message(e.g., does not forward a text message to a mobile telephone number)(step 935).

If the recipient is known to the sender (step 932), the instant messagesystem identifies a mobile telephone number associated with the identityassociated with the screen name to which the instant message isaddressed (step 937). To do so, for example, the instant message systemsearches for, and identifies, collections of contact informationassociated with identities who are included in the sender's socialnetwork map. In another example, the instant message system may searchfor the mobile telephone number of the identity associated in usercontact or account information that is not necessarily associated with aparticular identity (e.g., is not an address book or buddy list of auser of the instant message system).

The instant message system sends a communication based on the instantmessage to the mobile telephone number associated with the recipient(step 940). This may be accomplished, for example, by preparing andforwarding a text message based on the instant message to the mobiletelephone number for the identity, directly or indirectly, thorough acellular system, as described previously with respect to FIG. 1.

Referring to FIG. 10, a process 1000 is used to maintain and use thelist of people known to a met A list of people known to a user is stored(step 1002). Communication identifiers are stored in the list toindicate the known people.

The user can make manual additions to the list of known people (branch1010). To that end, the user is made able to expressly designatecommunication identifiers as known (step 1012). For example, a graphicaluser interface (GUI) that allows the user to enter communicationidentifiers may be provided. There may also be a speech-based interfacethat allows the user to add communications identifiers to the list ofknown people by saying them. These interfaces may allow the user toaugment the list of known people indirectly by allowing them to makeadditions to a contact list such as, for example, a custom sender list,an address book, or a buddy list.

However, the user may want to manually add a person to a contact listbut not to the list of known people. An interface optionally may bepresented to enable the user to confirm that the manually enteredcommunication identifiers should be added to the list of known people(step 1014). The confirmation may be enabled by way of a GUI that allowsthe user to select the entered communication identifiers that the useractually wants to be included in the list of known people. Thisconfirmation may occur after a predetermined number of communicationidentifiers have been entered, or at login or logoff to seekconfirmation of any people entered during the previous online session.Those identifiers that the user confirms then are added to the list(step 1016). When a confirmation interface is not presented, all enteredcommunication identifiers are added to the list of known people.Alternatively, there may be an interface that allows the user todirectly enter identifiers into the list of known people.

On the other hand, communication identifiers may be inferred as beingknown based on the actions of the user (branch 1020). First, thecommunication identifiers known to the user are inferred (step 1022).For example, a communication identifier may be inferred as known if ane-mail message to that communication identifier is sent. When an instantmessaging program is used, the communication identifier of the personwith whom the user is communicating may be designated as known to theuser.

One user's knowledge of another or their corresponding identifiers maybe inferred based on user interactions with a received message. Forexample, a communication identifier also may be inferred as known if amessage from that to communication identifier is read, replied to,forwarded, saved, or printed. Likewise, the communication identifierthat sent the e-mail message may be designated as known if the messageis moved from the “inbox” to a folder that is not marked for deletion orfor spam, or if the message is left open for a predetermined amount oftime.

Known communication identifiers also may be inferred based on indiciaother than user actions. As an example, the people designated as knownto the people the user knows may be designated as being “known” to theuser. For instance, if a person B is designated as someone user A knows,then the people designated as known to person B also may be designatedas “known” to user A. One way this may be implemented is, for example,to designate the people in an address book and/or buddy list of person Bas known to user A.

When inferring known people, some actions may be taken into account tonegate an inference that the person is known (step 1024). For instance,if an e-mail received from a person is forwarded to an e-mail addressthat has been designated for reporting spam, then the inference that theuser knows the person may be negated. As another example, an inferencethat a person is known may be negated if the person is included on anexplicit black list of people with which communication should not occur,created by the user or the network administrator.

After known communication identifiers are inferred, an interfaceoptionally may be presented to enable the user to confirm that theinferred communication identifiers are in fact known (step 1026). Theconfirmation may be enabled by way of a GUI that allows the user toselect inferred communication identifiers that the user actually knowsor wants to be included in the list of known people. This confirmationmay occur after a predetermined number of communication identifiers havebeen inferred as known, or at login or logoff to seek confirmation ofany people identified in the previous online session. Those identifiersthat the user confirms then are added to the list (step 1028). When aconfirmation interface is not presented, the inferred identifiers areadded to the list.

Branches 1010 and 1020 may occur simultaneously or sequentially. Afterat least one of the branches has occurred, the user optionally may viewthe list of known people, and he or she may delete those users that areno longer known or needed (step 1030). In addition, communicationidentifiers in the list of known people can be used optionally to findother communication identifiers for that person (step 1032). Forexample, a person's e-mail address may be obtained from a profileassociated with a screen name. Similarly, if the e-mail address isknown, it may be used to obtain the screen name. The screen name,e-mail, or other determined communication identifiers may be used todetermine other ways in which the known person may communicate with theuser or in which the user may communicate with the known person.

At this point, the list can be used to forward an instant message sentby the user to another user based on whether the communicationidentifiers of the other user is known (step 1034). For example, thelist can be used to determine whether the intended recipient of aninstant message is known to a sender. If so, a mobile telephone numberassociated with the intended recipient may be identified, for example,by using contact information associated with other known users or byusing a collection of contact information maintained by the instantmessaging system (e.g., a user profile or user account information). Theinstant message may be forwarded to the intended recipient

Referring to FIG. 11, a process 1100 may be used to infer people withina certain number of degrees of separation from the user as known to theuser. The degree of separation between two entities describes arelationship between those entities. Typically, the characteristics ofuser contact lists (e.g., address book, buddy list, and/or white listthat identifies users from whom communications are to be received) areevaluated to determine the number of degrees (or hops) that are requiredto link or relate two users.

For example, recipient A may list user B in recipient A's address book,user B may list user C in user B's address book, and user C may listsender D in user C's address book Here, sender D is linked to recipientA by two degrees of separation (with user B as the first degree and userC as the second degree). Recipient A is related to user C by one degreeof separation (user B) and user B is separated from sender D by onedegree of separation (user C). Recipient A and user B, users B and C,and user C and sender D are each respectively separated by zero degreesof separation.

A list of contacts is maintained for the user (step 1102). The list ofcontacts may be any personally maintained list or lists, for example, anaddress book, a buddy list for instant messaging, and/or a white listThe zest of process 1100 will be described using an address book as anexample of a list of contacts. The contacts in the user's address bookare added to the user's list of known people (step 1104).

Next, the contacts linked to the user (i.e., up to a desired degree ofseparation) are identified and added to the user's list of known people.To do so, the address books of each contact in the user's address bookare accessed (step 1106). These address books are not normallyconfigured for direct accessed by the user. That is, the user does notnormally have access to other user's address books such as the addressbooks of the contacts in the user's address book (the user's addressbook is configured for direct access by the user). The other users'address books typically include communication identifiers selected bythe other users.

The contacts in the user's contacts' address books (i.e., the contactsseparated by one degree) then are added to the list of known people(step 1108). If another degree of separation is desired (1110), thedegree of separation is incremented (step 1112) such that the addressbooks of the contacts that are separated from the user by one degree areaccessed (step 1106) and the contacts in those address books are addedto the list of known people list (step 1108). When a contact is added tothe list of known people list, the contact's degree of separation fromthe user also may be added. The addition of contacts continues until thedesired degree of separation is reached (step 1110). Once the desireddegree of separation has been reached, all of the contacts within thatdesired degree of separation from the user have been inferred as knownto the user (step 1114).

The desired degrees of separation may be a system parameter or, in someimplementations, the user may be provided the user with the ability toset the desired degrees of separation. For example, the user may beprovided with an interface that allows the user to decide whetherdegrees of separation will be used, and, if so, how many degrees shouldbe used. Alternatively, the desired degrees of separation may be both asystem parameter and able to be set by the user. For example, the systemmay include a default degrees of separation, which can be adjusted bythe user if he or she so desires.

Process 1100 may result in the list of known people not being updatedwhen any users related to the intended user update their contact lists.That is, if a user related to the intended user adds a contact to theuser's contact list, the new contact may not be reflected in theintended user's list of known people. This situation may not be overlydetrimental, particularly in implementations where the list of knownpeople is used as a white list to exempt certain e-mails from spamfiltering. However, repeating process 1100 on a periodic or a periodicbasis may mitigate this situation. Another manner of mitigating thissituation is to use an update system in which changes to contact listsare tracked and lists of known people are updated accordingly in anincremental fashion or by triggering an update or re-initiation ofprocess 1100 when an update occurs.

The techniques described related to mobile forwarding based on contactinformation may provide a convenient method to automatically providemobile forwarding without requiring the text message recipient to set upor otherwise configure the recipient's instant message account to enablesuch mobile forwarding. This may be useful, particularly when a user maybe reluctant to so enable the user's account, perhaps, on the assumptionthat such a configuration process is or may be complex or confusing(regardless of whether such a configuration process is complex orconfusing).

Although the techniques and concepts often are described above in termsof SMS text messaging, the techniques and concepts may be applied toother types of messages, such as a Multimedia Messaging Services (MMS)message, a video message and an audio message. Similarly, the techniquesand concepts have been describe in terms of receiving an instant messageis received at desktop computer receive instant messages addressed tothe instant message identifier. Other electronic devices configured toreceive instant messages may be used, such as a laptop computer, apersonal data assistant (PDA) and a telephone receiver.

Instant messaging programs typically allow instant message senders tocommunicate in real-time with each other in a variety of ways. Forexample, many instant messaging programs allow instant message sendersto send text as an instant message, to transfer files, and tocommunicate by voice. Examples of instant messaging communicationapplications include AIM (America Online Instant Messenger), AOL(America Online) Buddy List and Instant Messages which is an aspect ofmany client communication applications provided by AOL, Yahoo Messenger,MSN Messenger, and ICQ, among others. Although discussed above primarilywith respect to instant message applications, other implementations arecontemplated for providing similar functionality in platforms and onlineapplications.

The techniques and concepts generally have been described in the contextof an instant messaging system that uses an instant messaging hostsystem to facilitate the instant messaging communication between instantmessage senders and instant message recipients. Other instant messageimplementations are contemplated, such as an instant message service inwhich instant messages are exchanged directly between two instantmessage client systems (e.g., an instant message sender system and aninstant message recipient system).

In addition, although the examples above are given in an instant messagecontext, other communications systems with similar attributes may beused. For example, some or all of the techniques may be applicable tomessages exchanged in a chat mom or in electronic mail (e-mail)communications. Also, some or all of the described user interfaces maybe a viewable interface, an audible interface, a tactile interface, or acombination of these.

In addition, the techniques and concepts describing sender-initiatedforwarding of an instant message to a mobile telephone based onrecipient contact information known by the sender may be applied toother contexts. For example, an e-mail message may be sent to an e-mailaddress known by the sender that corresponds to the recipient identifiedin the instant message. In other examples, sender-initiated forwardingof messages may be enabled to a voice telephone message or a secondinstant message address provided by another instant message service. Insome implementations, a hierarchy of communication schemes may beidentified. For example, an instant message may be first forwarded as atext message to a mobile telephone number known to the sender and, whenthe recipient is not available to receive the message at the mobiletelephone, the message may be also forwarded as an e-mail message to ane-mail address of the intended recipient that is known to the sender. Ahierarchy of communication schemes may be automatically applied toselect among available contact criteria for a recipient of an instantmessage. In some implementations, a user may set a preference for theorder in which available contact criteria are applies. For example, auser may prefer that a text message be forwarded to a mobile telephonenumber (if known) before an e-mail message is sent to an e-mail address(if known). A user may set a default preference that is applied to allcontacts, unless overridden by a preference identified for a particularcontact. For example, in general, a user may indicate that an instantmessage is forwarded to a mobile telephone number before being sent as ae-mail message; however, for a particular contact, an instant message isforwarded as an e-mail message before being a text message is forwardedto the mobile telephone number of the particular contact.

The techniques and concepts describing a buddy list that separatesvarious identities into groups based on availability and/orcommunication scheme also may be applied to identity a group of buddiesthat are available via sending an e-mail message (and are otherwiseoffline and/or away).

The described systems, methods, and techniques may be implemented indigital electronic circuitry, computer hardware, firmware, software, orin combinations of these elements. Apparatus embodying these techniquesmay include appropriate input and output devices, a computer processor,and a computer program product tangibly embodied in a machine-readablestorage device for execution by a programmable processor. A processembodying these techniques may be performed by a programmable processorexecuting a program of instructions to perform desired functions byoperating on input data and generating appropriate output. Thetechniques may be implemented in one or more computer programs that areexecutable on a programmable system including at least one programmableprocessor coupled to receive data and instructions from, and to transmitdata and instructions to, a data storage system, at least one inputdevice, and at least one output device. Each computer program may beimplemented in a high-level procedural or object-oriented programminglanguage, or in assembly or machine language if desired; and in anycase, the language may be a compiled or interpreted language. Suitableprocessors include, by way of example, both general and special purposemicroprocessors. Generally, a processor will receive instructions anddata from a read-only memory and/or a random access memory. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as Erasable ProgrammableRead-Only Memory (EPROM), Electrically Erasable Programmable Read-OnlyMemory (EEPROM), and flash memory devices; magnetic disks such asinternal hard disks and removable disks; magneto-optical disks; andCompact Disc Read-Only Memory (CD-ROM). Any of the foregoing may besupplemented by, or incorporated in, specially-designed ASICs(application-specific integrated circuits).

It will be understood that various modifications may be made withoutdeparting from the spirit and scope of the claims. For example,advantageous results still could be achieved if steps of the disclosedtechniques were performed in a different order and/or if components inthe disclosed systems were combined in a different manner and/orreplaced or supplemented by other components. As another example, ascreen name is used throughout to represent a unique identifier of anaccount, but any other unique identifier of an account may be used.Accordingly, other implementations are within the scope of the followingclaims.

What is claimed is:
 1. A method for communicating electronic messages,the method comprising: receiving an electronic message; receiving anindication of a user identifier specified by a sender as correspondingto the intended recipient of the electronic message; determining, usingat least one processor, that the intended recipient is not presentlyavailable to receive the electronic message; maintaining a contact listfor the sender, the contact list comprising user identifiers associatedwith recipients known to the user, the recipients having a first degreeof separation from the sender; accessing, for each one of the recipientson the sender's contact list, a contact list associated with eachrecipient; designating the contacts listed in the contact lists of eachrecipient on the sender's contact list as being known to the user;determining that the identity of the intended recipient is known to thesender based on the contact lists; identifying, based on thedetermination that the intended recipient is known to the sender, amobile telephone number associated with the intended recipient;determining that the intended recipient is available to receiveelectronic messages; and sending the electronic message to the intendedrecipient based on the identified mobile phone number.
 2. The method ofclaim 1 wherein the electronic message comprises an instant message. 3.The method of claim 1 wherein the user identifier comprises a screenname.
 4. The method of claim 1 wherein determining the intendedrecipient is not presently available comprises determining the intendedrecipient is not signed on to an instant message service.
 5. The methodof claim 1 wherein determining that the identity of the intendedrecipient is known by the sender comprises searching a storage devicefor a user identifier contained in a collection of contact informationassociated with the sender.
 6. The method of claim 5 wherein thecollection of contact information comprises one of an address bookassociated with the sender or a buddy list associated with the sender.7. The method of claim 1 wherein identifying a mobile telephone numberassociated with the intended recipient comprises searching thecollection of contact information associated with the sender for amobile telephone number associated with a user identifier correspondingto the intended recipient.
 8. The method of claim 1 further comprisingenabling a text message to be sent to the mobile telephone number, thetext message comprising at least a portion of text of the electronicmessage.
 9. The method of claim 1 further comprising forwarding a textmessage to the mobile telephone number, the text message comprising atleast a portion of text of the electronic message.
 10. The method ofclaim 1 wherein determining that the intended recipient is available toreceive electronic messages comprises determining that the intendedrecipient does not prohibit transmission of electronic messages to themobile telephone number.
 11. The method of claim 10 further comprisingsending the electronic message to the intended recipient only upon thedetermination that the intended recipient does not prohibit transmissionof electronic messages to the mobile telephone number.
 12. The method ofclaim 1 wherein determining that the intended recipient is not presentlyavailable comprises determining that the intended recipient is signed onto an instant message service used to send the electronic message anddetermining that the intended recipient is away from a client systemused to access the instant message service.
 13. The method of claim 12wherein determining that the intended recipient is away from a clientsystem used to access the instant message service comprises determiningwhether a user-configurable away indication is presently associated withthe intended recipient.
 14. The method of claim 1, further comprising:accessing the contact lists of recipients at additional degrees ofseparation from the sender; and designating the contacts listed in thecontact lists of the recipients at each additional degree of separationas being known to the sender.
 15. An apparatus for communicatingelectronic messages, the apparatus comprising: a storage device thatstores a set of instructions; and at least one processor that executesto the set of instructions in the storage device, the execution of theset of instruction causing the at least one processor to: receive anelectronic message; receive an indication of a user identifier specifiedby a sender as corresponding to the intended recipient of the electronicmessage; determine that the intended recipient is not presentlyavailable to receive the electronic message; maintain a contact list forthe sender, the contact list comprising user identifiers associated withrecipients known to the user, the recipients having a first degree ofseparation from the sender; access, for each one of the recipients onthe sender's contact list, a contact list associated with eachrecipient; designate the contacts listed in the contact lists of eachrecipient on the sender's contact list as being known to the user;determine that the identity of the intended recipient is known to thesender based on the contact lists; identify, based on the determinationthat the intended recipient is known to the sender, a mobile telephonenumber associated with the intended recipient; determine that theintended recipient is available to receive electronic messages; and sendthe electronic message to the intended recipient based on the identifiedmobile phone number.
 16. The apparatus of claim 15 wherein theelectronic message comprises an instant message.
 17. The apparatus ofclaim 15 wherein the user identifier comprises a screen name.
 18. Theapparatus of claim 15 wherein the at least one processor furtherexecutes the set of instructions to: determine the intended recipient isnot signed on to an instant message service.
 19. The apparatus of claim15 wherein the at least one processor further executes the set ofinstructions to: search for a user identifier contained in a collectionof contact information associated with the sender.
 20. The apparatus ofclaim 19 wherein the collection of contact information comprises one ofan address book associated with the sender or a buddy list associatedwith the sender.
 21. The apparatus of claim 15 wherein the at least oneprocessor further executes the set of instructions to: search thecollection of contact information associated with the sender for amobile telephone number associated with a user identifier correspondingto the intended recipient.
 22. The apparatus of claim 15 wherein the atleast one processor further executes the set of instructions to: send atext message to the mobile telephone number, the text message comprisingat least a portion of text of the electronic message.
 23. The apparatusof claim 15 wherein the at least one processor further executes the setof instructions to: forward a text message to the mobile telephonenumber, the text message comprising at least a portion of text of theelectronic message.
 24. The apparatus of claim 15 wherein the at leastone processor further executes the set of instructions to: determinethat the intended recipient does not prohibit transmission of electronicmessages to the mobile telephone number.
 25. The apparatus of claim 24wherein the at least one processor further executes the set ofinstructions to: send the electronic message to the intended recipientonly upon the determination that the intended recipient does notprohibit transmission of electronic messages to the mobile telephonenumber.
 26. The apparatus of claim 15 wherein the at least one processorfurther executes the set of instructions to: determine that the intendedrecipient is signed on to an instant message service used to send theelectronic message and determine that the intended recipient is awayfrom a client system used to access the instant message service.
 27. Theapparatus of claim 26 wherein the at least one processor furtherexecutes the set of instructions to: determine whether auser-configurable away indication is presently associated with theintended recipient.
 28. The apparatus of claim 15, wherein the at leastone processor further executes the set of instructions to: access thecontact lists of recipients at additional degrees of separation from thesender; and designate the contacts listed in the contact lists of therecipients at each additional degree of separation as being known to thesender.